friendslandfandomcom_ru-20200213-history
Настройка Samba
Как я настраивал Самбу... В последнее время в форуме стало появляться все больше вопросов, связанных с настройкой и использованием сервера Samba, причем по большей части они воистину элементарные. В связи с этим я решил разрулить сложившуюся ситуацию и отсеить хотя бы половину задаваемых вопросов. Впрочем, была еще и другая причина. Неделю назад я собрал себе новый комп. А поскольку теперь у меня их два, моя мама попросила один отдать ей, установив на него виндовс. Комп я отдал, но предварительно прочел лекцию на тему "виндовс-мастдай, Линукс-рулезз", благодаря чему на старый комп был установлен RedHat Linux 9. Возможно, этой статьи не было бы, если не одно но: у старого компа не было НИКАКИХ устройств обмена информацией с внешним миром. Разумеется, на нем стоял CDROM, но он был только читающий, а флоппи-диска не было в принципе (я всегда говорил, что это зло и выбрасывал его ). Хорошенько все взвесив и сравнив стоимость нового флоппика (~300 руб.) и 20 метров витой пары (~200 руб.), я решил сэкономить 100 рублей и заработать проблем на мягкое место, создав домашнюю сетку. Первым делом были определены задачи, которые должна решать сеть. Для моей мамы это только сохранение документов с последующей их записью на диск через мой комп. Не ставилась задача обеспечить старый комп Интернетом, поэтому я не поднимал на своем компе Squid (хотя, возможно, придется, так как в скором времени я планирую купить ноутбук, и тогда я еще напишу о настройке этого самого Сквида). Далее я предполагаю, что у Вас на компьютере уже установлен пакет Samba. Вы можете проверить это командой: ~$ rpm -qa | grep samba system-config-samba-1.2.31-1 samba-client-3.0.14a-2 samba-common-3.0.14a-2 samba-swat-3.0.14a-2 samba-3.0.14a-2 Результаты выполнения данной команды должны быть примерно такими же, как и у меня. Пакеты system-config-samba-1.2.31-1 и samba-swat-3.0.14a-2 можно не устанавливать, мы не будем пользоваться конфигураторами. Я так же надеюсь, что у Вас установлены все необходимые пакеты для работы с сетью. Так же неплохо установить пакет nmap, он будет нужен при настройке сети. Проверьте это следующей командой: ~$ rpm -qa | grep net-tools net-tools-1.60-52 ~$ rpm -qa | grep nmap nmap-frontend-3.81-3 nmap-3.81-3 В принципе, все эти пакеты уже должна быть установлены в Вашей системе, но если это не так - установите их. Для того, чтобы Вам был более понятен процесс конфигурирования сервера Samba, я начну рассказ "с нуля", то есть с настройки сети. Я предполагаю, что Вы владеете хотя бы базовыми знаниями о сетях. Почти все действия должна выполняться от пользователя root. Настройка сервера На сервере должны быть установлены указанные выше пакеты. Я давал символические имена/адреса компьютерам, каким-либо образом связанные с событиями моей жизни, но вы можете использовать свои собственные имена компьютеров и адреса. Итак, начнем настройку сетевых соединений, воспользовавшись командой: ~# ifconfig eth0 192.58.7.16 netmask 255.255.255.0 up ~# route add default gw 192.58.7.100 (Маршрут по умолчанию я назначил от балды, абы был ) После этого, если Вы все сделали правильно, у Вас появится сетевой интерфейс eth0 с адресом 192.58.7.16 и маской 255.255.255.0. Для проверки правильности настройки Вы можете воспользоваться следующими командами: ~# ifconfig eth0 Link encap:Ethernet HWaddr 00:13:D4:BC:F1:C1 inet addr:192.58.7.16 Bcast:192.58.7.255 Mask:255.255.255.0 inet6 addr: fe80::213:d4ff:febc:f1c1/64 Scope:Link UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:7362 errors:0 dropped:0 overruns:0 frame:0 TX packets:7675 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:605320 (591.1 KiB) TX bytes:5131386 (4.8 MiB) Interrupt:11 Base address:0xc000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:1742 errors:0 dropped:0 overruns:0 frame:0 TX packets:1742 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:2047490 (1.9 MiB) TX bytes:2047490 (1.9 MiB) ~# netstat -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.58.7.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 0.0.0.0 192.58.7.100 0.0.0.0 UG 0 0 0 eth0 ~# ping 192.58.7.16 PING 192.58.7.16 (192.58.7.16) 56(84) bytes of data. 64 bytes from 192.58.7.16: icmp_seq=0 ttl=64 time=0.075 ms 64 bytes from 192.58.7.16: icmp_seq=1 ttl=64 time=0.047 ms 64 bytes from 192.58.7.16: icmp_seq=2 ttl=64 time=0.052 ms 64 bytes from 192.58.7.16: icmp_seq=3 ttl=64 time=0.056 ms 64 bytes from 192.58.7.16: icmp_seq=4 ttl=64 time=0.049 ms 64 bytes from 192.58.7.16: icmp_seq=5 ttl=64 time=0.054 ms 64 bytes from 192.58.7.16: icmp_seq=6 ttl=64 time=0.048 ms --- 192.58.7.16 ping statistics --- 7 packets transmitted, 7 received, 0% packet loss, time 6001ms rtt min/avg/max/mdev = 0.047/0.054/0.075/0.011 ms, pipe 2 Результат их выполнения должен выглядеть примерно так же. Если интерфейс был успешно пропингован, значит, все должно быть нормально. Для того, чтобы в последствии использовать не IP-адреса, а имена машин, можно использовать файл /etc/hosts. Его рекомендуется использовать в небольших сетях для сопоставления IP-адресов с символическими именами машин. В данном случае я запонил свой файл следующим образом: ~# cat /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 max localhost.localdomain localhost 192.58.7.1 domovenok domovenok В данном случае сдесь описаны имя сервера (третья строка) и имя второго компа (четвертая строка). В первом поле файла прописан IP-адрес компьютера, во втором - полное доменное имя, а в третьем - псевдонимы. В данном случае "max" - сервер, на котором запущена Samba, "domovenok" - обслуживаемый ей компьютер (я решил дать ему адрес 192.58.7.1). Далее можно приступить к настройке самого сервера Samba. Я буду выполнять эту процедуру, попутно объясняя Вам, для чего я брал те или иные опции. Первым делом определимся, какие ресурсы должен предоставлять сервер. Я решил, что вполне достаточно будет двух ресурсов: "Public" (к которому разрешен доступ на чтение и запись всем желающим хостам из моей маленькой сети) и "Domovenok", к которому имеет доступ только пользователь компьютера "domovenok". Далее займемся напосредственным конфигурированием сервера. Файл конфигурации Samba (/etc/samba/smb.conf) имеет следующий вид: global ... ... Share1 ... Share2 ... ShareN Секция "global" содержит общие настройки сервера и настройки по умолчанию для пользовательских ресурсов, таких, как "Share1". Настройки пользовательских ресурсов хранятся под соответствующими секциями, носящими имя ресурса. Настройки определяют различные права доступа, пользователей и прочие параметры. Параметры, описанные в секциях ресурсов, могут отменять соответствующие настройки из секции "global", но только для этого ресурса. Начнем с секции "global": Cекция "global" global workgroup = HOMEWORKGROUP server string = Liksys Home Server bind interfaces only = yes interfaces = eth0 192.58.7.1 192.58.7.16 127.0.0.1 hosts deny = ALL hosts allow = 192.58.7.16 192.58.7.1 127.0.0.1 printcap name = /etc/printcap printing = cups cups options = raw log file = /var/log/samba/log.smbd max log size = 50 security = share encrypt passwords = yes smb passwd file = /etc/samba/smbpasswd socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192 local master = yes preferred master = yes domain master = no wins support = no dns proxy = no guest ok = yes guest account = nobody unix charset = utf8 dos charset = cp1251 display charset = cp1251 Разберемся, что же означают данные параметры: workgroup = HOMEWORKGROUP Определяет имя рабочей группы. server string = Liksys Home Server Определяет название сервера. bind interfaces only = yes interfaces = eth0 192.58.7.1 192.58.7.16 127.0.0.1 Ограничивает обслуживаемые сервером сетевые интерфейсы только интерфейсом "eth0" и по адресам "192.58.7.1 192.58.7.16 127.0.0.1", благодаря чему можно ограничить доступ к серверу и все "кулхацкеры" из Инета идут лесом. hosts deny = ALL hosts allow = 192.58.7.16 192.58.7.1 127.0.0.1 Первая строка запрещает доступ всем со всех адресов, а вторая - разрешает доступ только с адресов "192.58.7.16 192.58.7.1 127.0.0.1". printcap name = /etc/printcap printing = cups cups options = raw Настройки сетевого принтера. Поскольку принтера у меня нет, можно даже и их не указывать, но я все-таки сделал это. Первая строка задает путь к файлу, содержащиму информацию о принтерах, вторая - определяет систему печети, третья - параметры. log file = /var/log/samba/log.smbd max log size = 50 Первая строка определяет путь к журналу сервера Samba, а вторая - размер журнала. Можно еще добавить строку "debug level = 3", она используется при отладке сервера, выводя в журнал более детальную информацию. При настройке сервера я использовал уровень 5. security = share encrypt passwords = yes smb passwd file = /etc/samba/smbpasswd Первая строка задает уровень доступа к серверу. Она может принимать три значения: share - при каждом доступе будет запрашиваться имя пользовательского ресурса; user - для аутентификации будет использоваться имя пользователя и пароль, которые используются для входа в сеть виндовс. Это значение по умолчанию; server - для проверки пароля будет использоваться сервер NT (как работает - не вникал: винды - зло ), если интересно - читайте ман) Вторая строка разрешает шифрование паролей, третья задает путь к файлу с паролями пользователей. Если у вас нет этого файла, то создайте его командой touch. socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192 Опции сокета. Если не знаете, что это такое, лучше оставить как есть или почитать ман. local master = yes preferred master = yes Эти строки разрешают компьютеру становиться мастербраузером. После запуска сервера и подключения к сети, Samba устроит перевыборы (ИМХО, Революцию), и с наиобльшей вероятностью выберет мастербраузером себя. Следует отметить, что использование этих параметров избавляет от многих глюков (например, в одной из сетей, которое я настраивал, пока я не поставил этот параметр, появлялись и исчезали несуществующие компьютеры: вот такие виндовые глюки). domain master = no wins support = no dns proxy = no Первая строка запрещает становиться мастером домена, вторая отключает WINS (что это такое, подробно описано в мане), третья - отключает DNS Proxy. guest ok = yes guest account = nobody Первая строка включает гостевую запись, вторая - определяет соответствие "гостя" локальному пользователю "nobody", которому запрещена регистрация на локальной машине. unix charset = utf8 dos charset = cp1251 display charset = cp1251 Ну здесь все должно быть понятно без пояснений. Эти опции избавляют от глюков со шрифтами/кодировками. Раздел Public Теперь самое время заняться настройкой пользовательских ресурсов: Public comment = Public Folder path = /pub/Samba/Public writeable = yes guest ok = yes create mask = 0666 directory mask = 0777 read only = no Domovenok comment = Network Folder/Disk for Domovenok path = /pub/Samba/Domovenok writeable = yes guest ok = no valid users = mama create mask = 0664 directory mask = 0775 read only = no comment - комментарий к ресурсу; path - расположение каталога ресурса на сервере; writable - параметр, разрешающий или запрещающий запись и изменение данных в ресурсе. Дает возможность пользователям создавать/редактировать/удалять файлы; guest ok - разрешает или запрещает доступ к сервису "гостям"; create mask - права доступа, назначаемые новым файлам; directory mask - то же самое, только каталогам; read only - доступ только для чтения или для чтения и записи; valid users - пользователи, которым разрешен доступ к ресурсу. Настройка машины-сервера Мы закончили с конфигурацией сервера. Теперь нужно настроить саму машину. Для этого создадим каталоги и поставим права доступа таким образом: ~# mkdir /pub ~# mkdir /pub/Samba ~# mkdir /pub/Samba/Public ~# mkdir /pub/Samba/Domovenok ~# chmod -R 777 /pub Теперь добавим пользователя mama в систему: ~# groupadd -g 505 mama ~# useradd -u 505 -g 505 -s /sbin/nologin mama ~# passwd mama Changing password for user mama New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully Теперь необходимо создать учетную запись Samba: ~# smbpasswd -a mama New SMB password: Retype new SMB password: Думаю, здесь необходимы пояснения. При добавлении пользователя в Samba происходит что-то вроде установления связи между локальным пользователем и пользователем Samba. Это дает возможность создания довольно сложных конфигураций серверов, при которых используются стандартные механизмы UNIX, такие, как права доступа и группы пользователей. Теперь, когда удаленный пользователь создаст файл, то владельцем этого файла будет являться локальный пользователь, с которым установлена связь пользователя Samba. Удаленный же пользователь будет подчиняться тем же правилам, которые установлены для локального пользователя, то есть правам доступа, относиться к соответствующей группе пользователей и др. Но для больших систем нежелательно "плодить" большое количество пользователей. Поэтому при создании локального пользователя я запрещаю ему регистрацию в системе, устанавливая его оболочку как /sbin/nologin. Если у вас в системе нет такой "оболочки", то вы можете использовать "/bin/false". Посмотреть доступные оболочки вы можете так: ~# cat /etc/shells /bin/sh /bin/bash /sbin/nologin /bin/ksh /bin/tcsh /bin/csh /bin/zsh Вы можете занести имена всех машин и иш IP-адреса в файл /etc/samba/lmhosts: ~# cat /etc/samba/lmhosts 127.0.0.1 localhost 192.58.7.1 domovenok Выполняет он практически те же самые функции, что и файл /etc/hosts. Забегая вперед, скажу, что у меня при тестировании вылезала ошибка, что нельзя создавать/удалять файлы. Она вылечилась ковырянием SELinux`а, а именно отключением защиты демонов Samba. Всю остальную политику безопасности я не изменял, поэтому в целом уровень защищенности системы не понизился. На этом настройка Samba закончена. Теперь нужно проверить, все ли мы правильно сделали. Да, кстати, так как сеть нужна не всегда, не имеет смысла держать постоянно поднятыми сервер и сетевые интерфейсы. Для того, чтобы включать все это только когда нужно, я написал скрипт netctl: #!/bin/bash ##### MAX_ETH0_ADDR=192.58.7.16 MAX_ETH0_MASK=255.255.255.0 MAX_DEF_ROUTE=192.58.7.100 # SELINUX_TEST=/usr/sbin/selinuxenabled IFCONFIG=/sbin/ifconfig ROUTE=/sbin/route SMBCTL=/etc/rc.d/init.d/smb ##### $SELINUX_TEST if [ $? -ne 0 ]; then echo "FATAL ERROR! SELinux is DISABLED!" exit 1 fi ##### if [ $# -eq 0 ]; then echo "usage: ./netctl up/down" exit 1 fi # if [ $# -eq 1 -a $1 = "up" ]; then $IFCONFIG eth0 $MAX_ETH0_ADDR netmask $MAX_ETH0_MASK up && \ echo "ifconfig (eth0): online" && \ $ROUTE add default gw $MAX_DEF_ROUTE && \ echo "route (default): online" && \ $SMBCTL start elif [ $# -eq 1 -a $1 = "down" ]; then $ROUTE del default gw $MAX_DEF_ROUTE && \ echo "route (default): offline" && \ $IFCONFIG eth0 down && \ echo "ifconfig (eth0): offline" && \ $SMBCTL stop else echo "usage: ./netctl up/down" exit 1 fi ##### Командой "./netctl up" сервер и сетка поднимаются, а "./netctl down" сеть и сервер отключаются. Как мера предосторожности, перед манипуляциями с сетью проверяется статус SELinux. Поднимем сервер сначала командой /etc/rc.d/init.d/smb start (использовать скрипт я буду только тогда, когда все заработает): ~# /etc/rc.d/init.d/smb start Запускаются службы SMB: [ ОК ] Запускаются службы NMB: [ ОК ] Проверим наш сервер (эти действия я делал от обычного пользователя): ~$ nmap 192.58.7.16 Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) at 2006-08-26 11:52 MSD Interesting ports on 192.58.7.16: (The 1661 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 139/tcp open netbios-ssn 445/tcp open microsoft-ds Nmap finished: 1 IP address (1 host up) scanned in 0.290 seconds Как видно выше, Samba села на два порта: 139 и 445. Так и должно быть. Теперь попробуем зарегистрироваться гостем на сервере: ~$ smbclient //192.58.7.16/Public Password: Domain=HOMEWORKGROUP OS=Unix Server=3.0.14a-2 smb: \> ls .. D 0 Fri Aug 25 14:44:56 2006 . D 0 Fri Aug 25 21:24:23 2006 36515 blocks of size 2097152. 14674 blocks available smb: \> mkdir test smb: \> ls test D 0 Sat Aug 26 11:56:39 2006 .. D 0 Fri Aug 25 14:44:56 2006 . D 0 Sat Aug 26 11:56:39 2006 36515 blocks of size 2097152. 14674 blocks available smb: \> exit ~$ smbclient //192.58.7.16/Domovenok -U mama Password: Domain=HOMEWORKGROUP OS=Unix Server=3.0.14a-2 smb: \> ls xmms-devel-1.2.7-21.i386.rpm R 37478 Sun May 22 18:56:02 2005 table1.doc 14336 Wed Aug 2 15:30:53 2006 xmms-skins-1.2.7-21.i386.rpm R 2724785 Sun May 22 18:56:03 2005 .. D 0 Fri Aug 25 14:44:56 2006 xmms-1.2.7-21.i386.rpm R 1584529 Sun May 22 18:56:00 2005 . D 0 Fri Aug 25 20:34:53 2006 xmms-mpg123-1.2.7-21.i386.rpm R 100816 Sun May 22 18:56:02 2005 36515 blocks of size 2097152. 14674 blocks available smb: \> mkdir test smb: \> ls xmms-devel-1.2.7-21.i386.rpm R 37478 Sun May 22 18:56:02 2005 table1.doc 14336 Wed Aug 2 15:30:53 2006 xmms-skins-1.2.7-21.i386.rpm R 2724785 Sun May 22 18:56:03 2005 test D 0 Sat Aug 26 11:58:32 2006 .. D 0 Fri Aug 25 14:44:56 2006 xmms-1.2.7-21.i386.rpm R 1584529 Sun May 22 18:56:00 2005 . D 0 Sat Aug 26 11:58:32 2006 xmms-mpg123-1.2.7-21.i386.rpm R 100816 Sun May 22 18:56:02 2005 36515 blocks of size 2097152. 14674 blocks available smb: \> exit Похоже, что все в порядке. Настройка клиента Настраивать что-то серьезно было нечего. Я ограничился назначением адреса 192.58.7.1/255.255.255.0 для интерфейса eth0 и автоматическим поднятием его при включении (настраивал все это при установке системы). Ну и поковырял конфигурацию сервисов, чтобы ничего лишнего не запускалось. Далее я выполняю действия уже с компьютера-клиента: ~$ nmap 192.58.7.16 Starting nmap 3.81 ... и так ждать до посинения. Я ждал минут 10, после чего nmap заявил, что на сервере нет открутых портов и его вообще не видно. Попробовал пропинговать: ~$ ping 192.58.7.16 PING 192.58.7.16 (192.58.7.16) 56(84) bytes of data. 64 bytes from 192.58.7.16: icmp_seq=0 ttl=64 time=0.061 ms 64 bytes from 192.58.7.16: icmp_seq=1 ttl=64 time=0.050 ms 64 bytes from 192.58.7.16: icmp_seq=2 ttl=64 time=0.065 ms --- 192.58.7.16 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 1999ms rtt min/avg/max/mdev = 0.050/0.058/0.065/0.010 ms, pipe 2 Пингуется нормально. Странно. Стал разбираться. Говорю сразу, это заняло часа полтора. Я использоваля всякие средства, типа tcpdump/nmap/ping и прочие, вплоть до установления уровня отладочных сообщений Samba до 5. Оказалось, что на сервере стояла политика iptables, при которой фаерволились все приходящие данные по eth0, кроме ping`а . Вылечилось просто: установкой eth0 как доверенного устройства. Это так же не повлекло за собой проблем с безопасностью, поскольку у меня ВСЕ порты, крома Самбы были закрыты, а последняя включалась только по требованию, да еще стоял SELinux с жесткой политикой "мочить всех". Настраивалось это на сервере конфигураторм system-config-securitylevel, на клиенте - redhat-config-securitylevel (посто потому, что вручную это делать было лень ). Поставив доверенным порт eth0 и на клиенте, я попробовал еще раз просканировать порты на сервере. На этот раз все заработало: ~$ nmap 192.58.7.16 Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) at 2006-08-26 12:17 MSD Interesting ports on 192.58.7.16: (The 1661 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 139/tcp open netbios-ssn 445/tcp open microsoft-ds Nmap finished: 1 IP address (1 host up) scanned in 0.260 seconds Попробовал подсоединиться и создать/удалить/прочитать какой-нибудь файл (как это сделать, было показано в пункте о настройке сервера): получилось. Как и задумывалось, Samba пропускал всех пользователей без разбора к Public, но только mama имеет доступ к ресурсу Domovenok. Все компьютеры, имеющие адреса, отличные от трех разрешенных, или пытавшихся подключиться к Samba с другого интерфейса, не eth0, шли лесом - политика безопасности все отрезала. Для пущей защищенности я отключил пересылку пакетов между интерфейсами и прочие заморочки (файл /etc/sysctl.conf). Вот пример файла на сервере: ~$ cat /etc/sysctl.conf # Kernel sysctl configuration file for Red Hat Linux # # For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and # sysctl.conf(5) for more details. # Controls IP packet forwarding net.ipv4.ip_forward = 0 # Controls source route verification net.ipv4.conf.default.rp_filter = 1 # Do not accept source routing net.ipv4.conf.default.accept_source_route = 0 # Controls the System Request debugging functionality of the kernel kernel.sysrq = 0 # Controls whether core dumps will append the PID to the core filename. # Useful for debugging multi-threaded applications. kernel.core_uses_pid = 1 # Controls the use of TCP syncookies net.ipv4.tcp_syncookies = 1 # The following line is necessary for GFS to function properly. kernel.panic_on_oops = 1 Работа в сети Теперь, когда сеть настроена, ее можно поднимать командой: ./netctl up ... или отключать: ./netctl down Для того, чтобы иметь возможность использовать файлы пользователя mama на сервере, я включил себя в группу пользователя mama. Это более элегантное решение, чем установка прав типа 0666 или 0777 на новые файлы, создаваемые пользователями Samba. Для мониторинга сетевых подключений по Самбе нужно использовать команду smbstatus. Для удобства я запускаю ее в окне xterm следующим образом: watch smbstatus Эта команда автоматически обновляет информацию о подключениях и выводит ее на экран. Немного о SWAT... SWAT (Samba Web Administration Tool) - средство конфигурирования и обслуживания сервера Samba, оно выполнено в виде WEB-интерфейса. Получить доступ к нему можно через браузер, например, Mozilla. Для этого в строке адреса наберите: Код http://localhost:901 Когда попросят, введите имя пользователя root и его пароль. После этого Вы можете приступить к управлению сервером Samba. Возможно, у вас не получится запустить SWAT. Это связано с тем, что демон xinetd не обслуживает SWAT. Для того, чтобы исправить это, сделайте следующее: 1) Отредактируйте файл /etc/xinetd.d/swat, изменив в нем строку disable = yes на disable = no. 2) Перезапустите xinetd, воспользовавшись командой: Код /etc/rc.d/init.d/xinetd restart Интерфейс SWAT довольно понятный, поэтому я не описываю использование этого средства. Отмечу лишь, что я не пользуюсь SWAT, а предпочитаю настраивать все "по-старинке" вручную. К тому же, если вы настраиваете серьезный сервер, на нем, возможно, не будет установлен X. А использование текстовых браузеров типа Lynx со SWAT - извращение. Я пользуюсь только двумя конфигураторами: system-config-securitylevel и system-config-network (последний только для настройки модема). Когда лень запускать Иксы и что-то надо быстро изменить - пользуюсь setup`ом. Однако там, где нужна гибкая настройка, я все делаю вручную. Заключение... Я рассмотрел доволено простой случай, однако на базе получившегося файла конфигурации Samba и стандартных механизмов UNIX, таких, как права доступа и группы пользователей, можно создавать более сложные конфигурации. Например, создать несколько групп пользователей, включить в них самих пользователей и распределить использование Samba-ресурсов между ними, как на обычной локальной машине, поскольку пользователи Samba подчиняются общим правилам для локальных пользователей системы, с которыми установлено их соответствие. Возможно ограничивать доступ к ресурсам для машин, используя параметры "interfaces", "hosts deny", "hosts allow"; ограничивать доступ к ресурсам пользователям с помощью параметров "guest ok", "valid users", "invalid users" и других. Сервер Samba - это очень гибкая система, она поддерживает сотни параметров, поэтому для полноценного использования этого сервера необходимо хорошо представлять себе, что делает та или иная опция, для чего можно обратиться к соответствующим man-страницам руководства: man samba man smb.conf man smbclient ... В заключение хотелось бы привести некоторые команды, которые полезны при настройке/использовании сервера Samba. smbclient Позволяет подключаться к серверу Samba. smbclient -L // Выводит список доступных ресурсов компьютера. smbclient -U username /// Позволяет подключиться к ресурсу указанного компьютера как пользователь username. После этого Вам предложат ввести пароль. Если комбинация имя_пользователя-пароль верна, Вам будет предоставлен доступ к ресурсу. Параметр "-U username" можно опустить, тогда при регистрации будет использоваться гостевая учетная запись. Просьбу о вводе пароля можно проигнорировать, нажав . После этого Вам будет предоставлен доступ к ресурсу, если, конечно, администратор сервера разрешил использование гостевой учетной записи. smbmount /// /mount/point или mount -t smbfs /// /mount/point Позволяет примонтировать ресурс к файловой системе. Он буде доступен как обычный каталог. Команда smbmount имеет множество параметров, для получения справки введите команду man smbmount. Монтировать ресурс можно и командой mount, как показано выше. testparm Проверяет правильность конфигурации файла /etc/samba/smb.conf. Если все нормально, это хороший знак, скорее всего сервер будет работать нормально. Для справки введите man testparm. /etc/rc.d/init.d/smb start/stop/status/restart Управление демонами smbd и nmbd. smbstatus Мониторинг состояния сервера Samba. groupadd -g "GID" groupname useradd -u "UID" -g "GID" -s /sbin/nologin username passwd username smbpasswd -a username Последовательность команд для добавления Samba-пользователя. Автор Liksys Категория:автор, не мучай себя! Категория:купи железный роутер!!!